#pragma once
#ifndef Register_h__
#define Register_h__


#include "Base/AbstractRemoteProcedure.h"
#include <QObject>
#include "Network/Connection.h"

namespace TC
{
    namespace Request
    {
        class TCCORE_EXPORT Register : public AbstractRemoteProcedure
        {
            Q_OBJECT
        public:
            Q_INVOKABLE void registerWithUsername(const QString &username, const QString &password);
            Q_INVOKABLE void registerWithEmail(const QString &email, const QString &password);
            Q_INVOKABLE void registerWithPhone(const QString &phone, const QString &password);
        protected:
            void onDataReady(QDataStream &stream) override;
        };
    }
}
#endif // Register_h__